package com.ruoyi.web.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * tlga大模型对象
 * 
 * @author ruoyi
 * @date 2025-03-13
 */
@Data
@ApiModel(value = "RailwayBigmodel", description = "tlga大模型")
public class RailwayBigmodel extends BaseEntity
{

    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty("用户ID")
    private String id;

    @ApiModelProperty("手机号")
    private String telephone;

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @ApiModelProperty("其他")
    private String remark;

    /** 申请类型 */
    @Excel(name = "申请表类型",width = 25,readConverterExp = "0=公安大模型研发建设备案,1=公安大模型上线应用备案", sort = 2)
    @ApiModelProperty("申请类型")
    private String type;

    /** 建设单位编码 */
    @ApiModelProperty("建设单位编码")
    private String securityOrg;

    /** 建设单位名称 */
    @Excel(name = "建设单位", sort = 3)
    @ApiModelProperty("建设单位名称")
    private String securityOrgName;

    /** 项目名称 */
    @Excel(name = "项目名称", sort = 4)
    @ApiModelProperty("项目名称")
    private String projectName;

    /** 训练类型 */
    @Excel(name = "训练类型",readConverterExp = "0=预训练,1=二次预训练,2=优化训练", sort = 5)
    @ApiModelProperty("训练类型")
    private String trainType;

    /** 应用场景 */
    @Excel(name = "应用场景", sort = 6)
    @ApiModelProperty("应用场景")
    private String sceneName;

    /** 业务领域 */
    @Excel(name = "业务领域", sort = 7)
    @ApiModelProperty("业务领域")
    private String businessArea;

    /** 算力情况 */
    @ApiModelProperty("算力情况")
    private String computePower;

    /** 算力资源 */
    @Excel(name = "算力资源", sort = 9)
    @ApiModelProperty("算力资源")
    private String computeResource;

    /** 部署网络 */
    @ApiModelProperty("部署网络")
    private String deployNet;

    /** 基础大模型 */
    @Excel(name = "基础大模型", sort = 10)
    @ApiModelProperty("基础大模型")
    private String founditionModel;

    /** 合作单位 */
    @Excel(name = "合作单位", sort = 11)
    @ApiModelProperty("合作单位")
    private String cooperateUnit;

    /** 公安语料情况 */
    @Excel(name = "公安语料情况", sort = 12)
    @ApiModelProperty("公安语料情况")
    private String yuliaoSituation;

    /** 文件保存路径 */
    @ApiModelProperty("文件保存路径")
    private String filePath;

    private String fileName;

    /** 上报状态 *0-暂存  1-已上报 2.已退回 */
    @Excel(name = "状态", readConverterExp = "0=暂存,1=已上报,2=已退回", sort = 1)
    @ApiModelProperty("上报状态")
    private String reportStatus;

    /** 删除标识 */
    private String delFlag;

    private String trainTypeString;

    private String typeString;

    @Excel(name = "算力情况", sort = 8)
    private String computerPowerString;

    @Excel(name = "填表用户", sort = 12)
    private String user;

    @Excel(name = "手机号", sort = 13)
    private String mobile;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("telephone", getTelephone())
            .append("type", getType())
            .append("securityOrg", getSecurityOrg())
            .append("securityOrgName", getSecurityOrgName())
            .append("projectName", getProjectName())
            .append("trainType", getTrainType())
            .append("sceneName", getSceneName())
            .append("businessArea", getBusinessArea())
            .append("computePower", getComputePower())
            .append("computeResource", getComputeResource())
            .append("deployNet", getDeployNet())
            .append("founditionModel", getFounditionModel())
            .append("cooperateUnit", getCooperateUnit())
            .append("yuliaoSituation", getYuliaoSituation())
            .append("filePath", getFilePath())
            .append("reportStatus", getReportStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
